package com.antis.olsl.data.stock;

import com.antis.olsl.base.BasePresenter;
import com.antis.olsl.base.BaseView;
import com.antis.olsl.data.response.GetBrandInventoryListResp;
import com.antis.olsl.data.response.GetCategoryInventoryListResp;
import com.antis.olsl.data.response.GetProductInventoryListResp;
import com.antis.olsl.library.response.SalesroomOrWarehouseInfo;

import java.util.List;
import java.util.Map;

public class StockQueryContract {

    interface Presenter extends BasePresenter {
        void takeView(StockQueryContract.View view);

        void getSalesroomInfoList(Map<String, Object> map);

        void getWarehouseInfoList(Map<String, Object> map);

        void getProductInventoryList(Map<String, Object> map);

        void getBrandInventoryList(Map<String, Object> map);

        void getCategoryInventoryList(Map<String, Object> map);
    }

    public interface View extends BaseView<Presenter> {
        void getSalesroomOrWarehouseInfoListSuccess(List<SalesroomOrWarehouseInfo> list);

        void getSalesroomOrWarehouseInfoListFailure(String msg);

        void getProductInventoryListSuccess(GetProductInventoryListResp resp);

        void getProductInventoryListFailure(String msg);

        void getBrandInventoryListSuccess(GetBrandInventoryListResp resp);

        void getBrandInventoryListFailure(String msg);

        void getCategoryInventoryListSuccess(GetCategoryInventoryListResp resp);

        void getCategoryInventoryListFailure(String msg);
    }
}
